Computer systems rely on disc driven magnetic memory, among other devices, for data storage. Referring now to FIG. 1, a block diagram of a standard disc drive system is shown. Disc drive storage system 10 includes: one or more magnetic discs 12, one or more magnetic read, write heads 14; and a seek mechanism 16 to physically move the heads 14 over the discs. A controller 18 manages information transfer between the storage discs and host computer system 20 by controlling seek mechanism 16.
Briefly describing the operation of disc drive system, host computer 20 provides logical instructions to the disc drive to access or store information on individual physical memory locations on the discs. Information on the disc drive, however, is not stored in a logical format. A logical format would sequentially read or store data without considering the possibility of defective storage areas on the disc. Therefore, the controller is required to translate the logical request from the controller into a corresponding physical target location on one of the discs. Once the translation is performed, the controller manipulates seek mechanism 16 to direct heads 14 to the physical target location, whereupon the heads will read or store information.
Referring now to FIG. 2, an isolated perspective view of several magnetic discs 12 of disc drive system 10 is shown. The purpose of illustrating the discs is to illustrate how information is physically organized and stored on the discs, which is essential for the understanding of the invention. Each side of a disc 12 is called a data storage surface 30, and there are two surfaces per disc (HD=0), (HD=1). Each surface 30 comprises a plurality of concentric circles called tracks 32. The outermost track is generally designated as the first logical track (track=0) and the innermost track is designated as the last track (i.e. track=999 in a one thousand track disc drive system). The individual discs 12 are journalled about a single spindle 34 and are physically stacked one above the other. The combination of like track 32 numbers on each surface forms what is called a cylinder.
Each surface is also divided up into a certain number of pie-shaped sectors 38. The plurality of areas created by the sectors 38 and tracks 32 form individual storage locations called segments 40. Each segment is capable of storing 512 bytes of information. Each segment 40 is accessed by a three coordinate address corresponding to the cylinder number, the head number and the sector number.
In the early magnetic disc storage devices, the standard disc drive contained 17 sectors per track. More recently, due to advances in disc drive technology, the same 512 bytes of information can be stored in a smaller physical location. The number of sectors per track has therefore increased, and the current state-of-the-art is 26 sectors per track. Using special data access techniques the number of sectors per track can be expanded to as many as 44.
Controller 18 is responsible for translating a logical request from a host computer into the correct target physical segment 40 on the disc drive. Each logical request includes a logical cylinder, head and sector which must be translated into target physical cylinder, head and sector.
The translation, however, is complicated by several factors. Most computers 20 still operate on the old 17 sector standard, and hence, their logical requests are in 17 sector format. On the contrary, modern disc drives contain a varying number of sectors per track up to 26 sectors. Accordingly, as will be described in the example below, a mathematical translation from a logical 17 sector format to a physical 26 sector format is required.
A second factor which complicates the translation is that host 20 considers the disc drive to be a defect free block of memory. On the contrary, defective segments are intermittently spaced throughout the physical disc media. A defect management scheme is therefore required.
To describe the operation of the prior art two-step translation and defect management scheme, an example is provided. A two-step process is required for a complete logical to physical translation. The two steps include:
1. Calculating the logical to physical location translation using well known mathematical translation algorithms. PA0 2. Adjusting the target physical translation to compensate for known physical defects which exist in the disc drive.
Consider a three head, 26 sector per track drive controlled by a host using a 4 head, 17 sector per track format. The host sends a request to controller 18 for logical cylinder number (1), head number (3), and sector number (16). The first step in the mathematical translation is to convert a logical request into an intermediate segment number of 135. This number is derived by multiplying the requested cylinder number (1) times the number of heads per cylinder (3) times the number of sectors per track (17) plus the head request number (3) times the number of sectors per track (17) plus the sector request (16). (1.times.4.times.17)+(3.times.17)+16=135. The previous calculation is much like the calculation to convert a base 17 number into a base 10 number. Next the base 10 number must be translated into a base 26 address.
The intermediate number (135) is then translated into a target physical segment in the 26 sector disc drive system. In the three head and 26 sectors per track disc drive configuration, there are 78 segments per cylinder. With an intermediate segment number of 135, one cylinder is completely used up with 57 segments remaining (135-78=57). Two complete tracks (2.times.26=52) can be completely inserted into the remainder, with a remainder of 5 sectors. Accordingly, the target translation results in an physical segment addressed by:
cylinder=1, PA1 head=2, and PA1 sector=5.
In the second step, the target physical segment address is adjusted to compensate for physical defects which occur on the disc prior to the above physical target segment location. Prior to discussing two common techniques for compensating for defects, it is first necessary to briefly describe how physical defects are detected on the disc's surface. The disc drive manufacturer writes information on every segment 40 on the disc and then reads back that information. Segments that information cannot be read from are marked as defective. The locations of all the defects are recorded and mapped out of the physical disc so they are not accessed during actual disc drive operations.
Two popular methods of mapping out defects are described below. In the first method, a physical track is first marked out on the disc. The track must be large enough to accommodate the total number of segments per track (i.e. 26) plus the allocation of several spares. The sectors are then mapped consecutively, starting with 1 and ascending in order to the last sector number (26) within the track. Whenever a physical defect occurs in the track, it is simply remapped into a spare area at the end of the track.
Referring to the illustrative table of FIG. 6 used to describe the first defect management scheme, a 26 sector track is shown. The segment numbers ascend in linear order from one through three, until segment number four is encountered. In the fourth segment, an "X" appears signifying that a physical defect is present. In the mapping scheme described above, the fourth segment is simply remapped, as illustrated by the arrow in the diagram below, into a spare segment at the end of the track.
In a second defect management scheme according to the prior art, the solution for accommodating physical defects that occur in a track is to simply skip them and to increment the remaining segments into the next location. Each time a defect occurs, as a consequence, the last segment on the map is pushed into a spare segment.
Referring now to the illustrative table of FIG. 7 used to describe the second prior art defect management scheme, a simplified 26-sector track is shown. The defect at segment 4, identified by the X, is pushed into the next segment. As a result, the subsequent segment numbers 5 through 26 are incremented so that the 26th sector is a logical location to the physical location, the absolute physical translations must be incremented by a push count which is equal to the accumulated number of bad sectors which occur before the requested logical sector.
A number of problems are associated with the translation and defect management schemes of the prior art as described above. Foremost, the time required to mathematically translate is excessive. It is a slow and tedious process for the disc drive controller to perform the aforementioned absolute physical location. The checks required to keep track of the defects also slow down the computations significantly. Approximately two to five milliseconds are required for each translation. The accumulated effect of these translations seriously impedes information transfer time between disc drive 10 and host 20.
Another problem with the prior art is that it fails to make efficient use of the physical space on the disc drive media. Even with twenty-six sectors per track, a large percentage of the magnetic storage surface remains unused. The segments contained in the innermost tracks are physically shorter than their counterparts situated near the outer circumference of the disc. The information storage density per segment in the inner tracks is therefore relatively high, and is an efficient use of space. In contrast, the density at the outer segments is relatively low, and is an inefficient use of space. As a result, a substantial percentage of the physical storage medium located near the outer circumferences of the disc is unused.